1. Field of the Invention
The present invention relates to a distributing system for distributing e.g., stream system data to a network, a client and its method.
2. Related Background Art
In recent years, as a computer network environment such as an internet, an intranet, etc. spreads and is highly improved in performance, an image distributing system has been developed and practically used. In this image distributing system, multimedia data of a stream system such as images and voices, etc. are distributed to plural clients as service through a computer network.
Conventionally, a system shown in FIG. 2 is proposed as an image data distributing system in such an image distributing system. In FIG. 2, an image client (201) is a program started to make a user view an image. The image client (201) connects this system to a suitable image server (202) in accordance with a user""s request.
In this system, the image client (201) first transmits a request (image retrieve order, 203) to the image server (202). The image server (202) transmits image data (204) of one to several frames to the image client (201) as a reply to the request (203). The image client (201) displays the image data (204) in a display, etc. When display processing is terminated, the image client (201) again transmits the request (203) to the image server (202). Thus, images are distributed by repeating the request and the reply between the client and the server (hereinafter, this system is called xe2x80x9ca request and reply systemxe2x80x9d).
The request and reply system is characterized in that an image data amount and a frame rate are automatically adjusted in accordance with a display speed of the image client and a situation of the network.
When a CPU load of the image client is increased and the situation of the network becomes worse, it takes time to transmit the request. Thus, an arriving interval of the request at the image server is lengthened so that the amount of image data flowing to the network per time is reduced. As a result, loads of the network and the client are reduced. Conversely, when there are margins in the client and the network, an interval of the request is shortened so that the image data are sent at higher frame rate.
Further, no reply is made if there is no request. Accordingly, there is no fear that the image server sends the image data irrespective of a situation in which no image data can be received by troubles on sides of the image client and the network. A system (a continuous sending system) for continuously sending the image data to the client one-sidedly by the image server, etc. are proposed in systems except for the request and reply system. However, in the request and reply system, the frame rate and the data amount are simply controlled and it is not necessary for the network and the client to bear an excessive burden in comparison with the other systems such as the continuous sending system, etc. Accordingly, the request and reply system is suitable for utilization in an internet environment in which the network situation is greatly changed and plural services coexist.
However, a waiting time (hereinafter called this time xe2x80x9ca network delay timexe2x80x9d) from the transmission of one request performed by the client to the arrival of a reply from the server becomes useless in the request and reply system. As shown in FIG. 3A, a request 2 is transmitted after the network delay time and a display time of a request 1 have passed. Accordingly, the frame rate becomes 1/T fps when (network delay time+display time)=T seconds.
It is considered as a dissolving method of this useless time that the request is sent to the image server in advance in anticipation of the network delay time as shown in FIG. 3B so as to apparently dissolve the useless time. (This system is called xe2x80x9ca shift sending systemxe2x80x9d.) In the shift sending system in FIG. 3B, requests are transmitted in advance such that the reply of the request 2 arrives just when the display of the request 1 is terminated. Thus, the frame rate can be improved such that this frame rate is 1/(display time) fps.
However, as shown in FIG. 3C in the actual network environment, the network delay time is violently changed by a line situation, a data amount, etc. As shown in FIG. 3C, the network delay time is changed in each of the requests 1, 2, 3, and there is a possibility that the reply arrives at the client in a reverse order in a certain case as in requests 2 and 3. Transmission timing of the next request must be determined by predicting a terminating time of the previous request so as to realize the shift sending system in such an environment. However, it is very difficult to predict a sudden change in the network delay time.
An object of the present invention is to provide a distributing system, a client, its method and medium capable of individually solving the above problems or solving all the above problems.
Another object of the present invention is to provide a distributing system, a client, its method and medium for improving distributing effects in comparison with a conventional case.
In view of such objects, one preferable mode of the present invention is characterized in a distributing system for distributing data from a server through a network, comprising:
request means for generating a request for obtaining data in the server;
predicted value obtaining means for obtaining a predicted value of a passing time from the generation of the request to data reception and a predicted value of a frame rate of the data;
means for obtaining the number of requests in which no data corresponding to the request are received from the server; and
control means for controlling an operation of the request means based on the predicted values of a network delay time and the frame rate and the number of unprocessed requests.
Another object of the present invention is to provide a data distributing system, a client, its method and medium suitable for transfer of data called stream system data.
Still another object of the present invention is to provide a data distributing system, a client, its method and medium suitable for transfer of data through an internet.
The other objects and features of the present invention will become apparent from the following embodiments and explanation of the drawings.